class Solution {
public:
    string digitSum(string s, int k) {
        if(s.size() <= k)
            return s;
        string tmp;
        int cnt = 0, calc = 0;
        do
        {
            tmp.clear();
            for (int i = 0; i < s.size(); ++i)
            {
                calc += s[i] - '0';
                ++cnt;
                if (cnt == k || i == s.size() - 1)
                {
                    tmp += to_string(calc);
                    cnt = 0;
                    calc = 0;
                }
            }
            s.swap(tmp);
        } while (s.size() > k);
        return s;
    }
};
